The present invention relates to the controlling of variables in an operational system, more specifically, variables such as pressure, temperature, velocity, altitude, direction, position, flow, ratios, etc., to a reference or set point.
In the broad field of process control, controllers are used to control a variable of a system to a reference value or set point. Such a system consists of one or more components operating as a unit to perform a certain function with the function performed by the system being the system output, or load. In order to produce the system output, the system must have input. Controlling a variable of a system to set point is accomplished by controlling one or more of the inputs essential to the system output.
Often, the controlled system input is energy and the system output is work with the controlled, or process, variable being a measure of the degree of concentration of energy, an ingredient, etc., in the system. Additionally, the process variable is usually directly proportional to input and inversely proportional to load. Thus increasing only the system input increases (decreases for cooling, vacuum, etc. applications) the controlled variable, and increasing only the system load decreases (increases for cooling, vacuum, etc. applications) the controlled variable. Or, the change in the variable, dV, can be expressed mathematically as: dV=dIxe2x88x92dL, where dI is the change in input and dL the change in load, or output.
In an unloaded system, the variable would change in direct proportion to the change in input. The controlled variable is, at any given time, a function of the system energy, ingredient, etc., as represented by the level of the variable itself, the input to the system, and the load on the system. The deviation of the variable from a reference set point is defined as the error of control, or error with this error at any given time being a function of the set point, and the controlled variable. The change in error during a period of time is a function of the changes in either or both system input and system load during that time period and may or may not include the change in set point during the period. The control of the variable to set point is accomplished by making changes to system input.
It should be noted that the controller for a system, too, has output and input with the controller output controlling system input and the controller input being an analog of the process variable.
Most existing controllers use the system error to determine what changes to make to a system input in order to control the variable at, or near, set point. Some controllers make changes to their output based on present error only, others on the present error plus the integral of previous error over time, while still others use a summing of present error and the change in error for determining changes to output. Sometimes, system load is measured and provided to the system controller as feedback. In such applications, the controller combines load with error in determining its output, or the system input. Load measurement tends to be expensive for simple applications of single system output or load, and becomes very expensive for those systems of multiple output.
In the simpler analog control applications; the system input, variable and output are closely coupled. A change of either input or output produces an equivalent change in variable. There is no buffer between input and variable or between load and variable. Often, in these simpler applications, speed or rate is the controlled variable. For controlling the speed of something coupled to an electric motor; the controlled system input would be the power to the motor. This power is controlled by changing the voltage, or voltage and frequency, applied to the motor. When the load is constant, a change of power to the motor would produce a proportionate speed change. With power to the motor constant; a change in load would produce a proportionate change in speed. The variable is controlled to set point by controlling the ratio of input to load. Some existing controllers for these simpler applications periodically sense the variable, compare the variable to some reference or set point, and make correction to the controlled system input proportional to the difference of variable and reference, or the error. Controllers using this approach in these types of simpler applications control fairly well when neither the set point nor the load change too often or too much. These controllers can, when neither the set point nor the load are changing, over time, bring the variable to set point, otherwise a better controller is needed.
A PID (Proportional Integral Derivative) controller is most widely used for those applications where the system input and output are not closely coupled. In such systems, there is a buffer, accumulator, reservoir, fly-wheel, or storage for energy, ingredient, etc., between the system input and load(s). The effects of a change in either input or output on the variable are mitigated by the storage of the buffer. Examples include applications where the controlled variable is a measure of a degree of concentration, or of degree present; e.g., pH, conductivity, ppm, temperature, pressure, altitude, speed, etc.; in the buffer. In various forms, the PID based controller calculates the deviation of the process variable from set point (error), applies a multiplier for (P)roportioning or gain to this error, (I)ntegrates the error over time, and may take the (D)erivative or slope of the process variable; then combines these per a formula to calculate an output value for controlling the system input.
PID controllers provide less than ideal control, for example when the process variable is not at set point; controller output to the controlled system input is a function of: the present error, a summing of the previous error, and, perhaps, the present change in error. When the process variable is at set point and stable, controller output to the controlled system input is a summing of previous error. Additionally, the PID controller output is always based on what has happened. For such controllers, output to the system input is truly a summing of past inability to control the process to set point. These controllers can be quite difficult to tune to a process and usually provide good control only at or near those steady state conditions for which they were tuned, and the tuning suited for normal operation near set point is unsuitable for startup and disturbances beyond the norm. Further, it is well known that PID controllers tend to become lost or behave in a chaotic manner when an out of the ordinary set of operating conditions arises.
McCutcheon, U.S. Pat. No. 4,218,735, addresses an example of a simpler analog control application, one with input, variable and output closely coupled. In the example of McCutcheon, the controlled variable is the speed of a motor driven scan system. The variable, the speed of a scan motor, is controlled to a reference ratio of the speed of the scan motor to the speed of another motor, a drum motor. Correction proportional to the present difference between the variable and the reference, the error, and the change in error over time is periodically made to the system input of which the controlled variable is a direct function. Adding change in error over time to controller output makes the McCutcheon controller more responsive to load changes and, thus, better at controlling the variable to set point. The McCutcheon controller, properly tuned to an application where the system is close coupled and changes in load are small and not continuous, works quite well.
Since all process control is time based, measurements are taken, corrections are made, and rates of change are calculated on the basis of time. For a process controller to function at all well, the actions of the controller must all be correlated with the time it takes the system to respond to changes of input and load, thus, system response time is an essential tuning parameter for the controller in any application.
In order to control a system, the input needs to be, at minimum, of a slightly greater capacity than the load. It may be of some 30 to 100% greater capacity, or even more, in order to overcome the inertia, thermal mass, etc., of the system, and afford adequate response. Moreover, the units of the error are those of the variable, (e.g., degrees, etc.) while those of the output of the controller are usually percent. For a system with an unchanging load, a given change of the controlled input would produce a given rate of change in the variable. The ratio of the change of input to that of the resultant change in the variable is a system characteristic. Somehow, in the tuning of any controller, this relationship needs to be addressed.
If a controller asks that of a system which it can not perform, control is lost. So, the set point for a controlled variable of a system needs always to be in accordance with system status and capacity.
The controller of the present invention makes sequential corrections to the level of input to the system of the variable based on: system response time, relationship of controller output to the variable characteristic of the system, error, and change in error. Correction to system input equivalent the error and the change in error is made each cycle by converting the error and the change in error to units of controller output and adding same to the previous controller output. For those times when system load is unchanging, this correction alone would bring the process variable equal to the set point. For most systems, the load changes often or even constantly. Each cycle, the controller of the present invention makes additional correction to the system input equivalent to the change in system load. Due to this unique capacity to change system input based on error and change in load, the controller of the present invention controls the process variable at or very near set point during all phases of system operation. The controller of the present invention has self tuning capability and can provide generation of the set point according to a set of variable parameters. It can be configured as a stand alone controller, as an intelligent Input/Output device for another intelligent device, or be resident another intelligent device such as a programmable controller, computer or other microprocessor based device.